package com.example.javaapitest.data;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class CSVData {
    public static Object[][] CSVData(String filename) throws IOException {
        List<Object[]> records = new ArrayList<Object[]>();
        String record;
        //设定UTF-8字符集，使用带缓冲区的字符输入流BufferedReader读取文件内容
        BufferedReader file = new BufferedReader(new InputStreamReader(new FileInputStream(filename), "gbk"));
        //忽略读取csv文件的标题行
        file.readLine();
        /*
         * 遍历读取文件中出去第一行外的其他所有内容
         * 并存储在records的ArrayList中
         * 每一个records中存储的对象为一个String数组
         */
        while((record=file.readLine())!=null) {
            String fields[] = record.split(",");
            records.add(fields);
        }
        //关闭文件对象
        file.close();
        //定义函数反值，即Object[][]
        //将存储测试数据的list转换为一个Object的二维数组
        Object[][] results = new Object[records.size()][];
        //设置二维数组每行的值，每行是一个Object对象
        for (int i = 0; i<records.size(); i++){
            results[i] = records.get(i);
        }
        return results;

    }
}
